package com.jereh.topnews.util;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;

/**
 * Created by Administrator on 2016/11/22.
 */
public class StringUtil {

    public static final String[] encodes = new String[] { "UTF-8", "GBK", "GB2312", "ISO-8859-1", "ISO-8859-2" };

    /**
     * 获取字符串编码格式
     *
     * @param str
     * @return
     */
    public static String getEncode(String str) {
        byte[] data = str.getBytes();
        byte[] b = null;
        a:for (int i = 0; i < encodes.length; i++) {
            try {
                b = str.getBytes(encodes[i]);
                if (b.length!=data.length)
                    continue;
                for (int j = 0; j < b.length; j++) {
                    if (b[j] != data[j]) {
                        continue a;
                    }
                }
                return encodes[i];
            } catch (UnsupportedEncodingException e) {
                continue;
            }
        }
        return null;
    }

    public static String urlencode(String value) {
        String result="";
        try {
            result= URLEncoder.encode(value, "UTF-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return result;
    }

    public static String urldecode(String value) {
        String result="";
        try {
            result= URLDecoder.decode(value, "UTF-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return result;
    }
//    /**
//     * 字符串转换unicode
//     */
//    public static String string2Unicode(String string) {
//
//        StringBuffer unicode = new StringBuffer();
//
//        for (int i = 0; i < string.length(); i++) {
//
//            // 取出每一个字符
//            char c = string.charAt(i);
//
//            // 转换为unicode
//            unicode.append("\\u" + Integer.toHexString(c));
//        }
//
//        return unicode.toString();
//    }
//    /**
//     * unicode 转字符串
//     */
//    public static String unicode2String(String unicode) {
//
//        StringBuffer string = new StringBuffer();
//
//        String[] hex = unicode.split("\\\\u");
//
//        for (int i = 1; i < hex.length; i++) {
//
//            // 转换出每一个代码点
//            int data = Integer.parseInt(hex[i], 16);
//
//            // 追加成string
//            string.append((char) data);
//        }
//        return string.toString();
//    }
}
